---------------------------- tests NaNs and Infs -------------------
   0.    ------------------- print NaNs and Infs
   1.    NaNQ float:  NaN
   2.    +INF float:  Infinity
   3.    -INF float:  -Infinity
   4.    NaNQ double: NaN
   5.    +INF double: Infinity
   6.    -INF double: -Infinity
   7.    ------------------- test zero division
   8.    0 / 0 = NaNQ float:  NaN
   9.    + / 0 = +INF float:  Infinity
  10.    - / 0 = -INF float:  -Infinity
  11.    0 / 0 = NaNQ double: NaN
  12.    + / 0 = +INF double: Infinity
  13.    - / 0 = -INF double: -Infinity
  14.    ------------------- test conversions
  15.    convert NaNQ (NaN,NaN) to int:    0
  16.    convert NaNQ (NaN,NaN) to int:    0
  17.    convert NaNQ (NaN,NaN) to long:   0
  18.    convert NaNQ (NaN,NaN) to long:   0
  19.    convert +INF (Infinity,Infinity) to int:    2147483647
  20.    convert +INF (Infinity,Infinity) to int:    2147483647
  21.    convert +INF (Infinity,Infinity) to long:   9223372036854775807
  22.    convert +INF (Infinity,Infinity) to long:   9223372036854775807
  23.    convert -INF (-Infinity,-Infinity) to int:    -2147483648
  24.    convert -INF (-Infinity,-Infinity) to int:    -2147483648
  25.    convert -INF (-Infinity,-Infinity) to long:   -9223372036854775808
  26.    convert -INF (-Infinity,-Infinity) to long:   -9223372036854775808
  27.    convert  MAX (3.4028235E38,1.7976931348623157E308) to int:    2147483647
  28.    convert  MAX (3.4028235E38,1.7976931348623157E308) to int:    2147483647
  29.    convert  MAX (3.4028235E38,1.7976931348623157E308) to long:   9223372036854775807
  30.    convert  MAX (3.4028235E38,1.7976931348623157E308) to long:   9223372036854775807
  31.    convert  MIN (1.4E-45,4.9E-324) to int:    0
  32.    convert  MIN (1.4E-45,4.9E-324) to int:    0
  33.    convert  MIN (1.4E-45,4.9E-324) to long:   0
  34.    convert  MIN (1.4E-45,4.9E-324) to long:   0
  35.    convert MAXINT-1 (2.1474836E9,2.147483646E9) to int:    2147483647
  36.    convert MAXINT-1 (2.1474836E9,2.147483646E9) to int:    2147483646
  37.    convert MAXINT-1 (2.1474836E9,2.147483646E9) to long:   2147483648
  38.    convert MAXINT-1 (2.1474836E9,2.147483646E9) to long:   2147483646
  39.    convert MAXINT+0 (2.1474836E9,2.147483647E9) to int:    2147483647
  40.    convert MAXINT+0 (2.1474836E9,2.147483647E9) to int:    2147483647
  41.    convert MAXINT+0 (2.1474836E9,2.147483647E9) to long:   2147483648
  42.    convert MAXINT+0 (2.1474836E9,2.147483647E9) to long:   2147483647
  43.    convert MAXINT+1 (2.1474836E9,2.147483648E9) to int:    2147483647
  44.    convert MAXINT+1 (2.1474836E9,2.147483648E9) to int:    2147483647
  45.    convert MAXINT+1 (2.1474836E9,2.147483648E9) to long:   2147483648
  46.    convert MAXINT+1 (2.1474836E9,2.147483648E9) to long:   2147483648
  47.    convert -MAXINT+1 (-2.1474836E9,-2.147483647E9) to int:    -2147483648
  48.    convert -MAXINT+1 (-2.1474836E9,-2.147483647E9) to int:    -2147483647
  49.    convert -MAXINT+1 (-2.1474836E9,-2.147483647E9) to long:   -2147483648
  50.    convert -MAXINT+1 (-2.1474836E9,-2.147483647E9) to long:   -2147483647
  51.    convert -MAXINT+0 (-2.1474836E9,-2.147483648E9) to int:    -2147483648
  52.    convert -MAXINT+0 (-2.1474836E9,-2.147483648E9) to int:    -2147483648
  53.    convert -MAXINT+0 (-2.1474836E9,-2.147483648E9) to long:   -2147483648
  54.    convert -MAXINT+0 (-2.1474836E9,-2.147483648E9) to long:   -2147483648
  55.    convert -MAXINT-1 (-2.1474836E9,-2.147483649E9) to int:    -2147483648
  56.    convert -MAXINT-1 (-2.1474836E9,-2.147483649E9) to int:    -2147483648
  57.    convert -MAXINT-1 (-2.1474836E9,-2.147483649E9) to long:   -2147483648
  58.    convert -MAXINT-1 (-2.1474836E9,-2.147483649E9) to long:   -2147483649
  59.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to int:    2147483647
  60.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to int:    2147483647
  61.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
  62.    convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
  63.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to int:    2147483647
  64.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to int:    2147483647
  65.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
  66.    convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
  67.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to int:    2147483647
  68.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to int:    2147483647
  69.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
  70.    convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to long:   9223372036854775807
  71.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
  72.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
  73.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
  74.    convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
  75.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
  76.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
  77.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
  78.    convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
  79.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
  80.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to int:    -2147483648
  81.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
  82.    convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to long:   -9223372036854775808
  83.    ------------------- test NaNQ op value
  84.    NaNQ + -5.0 = float:  NaN
  85.    NaNQ - -5.0 = float:  NaN
  86.    NaNQ * -5.0 = float:  NaN
  87.    NaNQ / -5.0 = float:  NaN
  88.    NaNQ % -5.0 = float:  NaN
  89.    NaNQ + -5.0 = double: NaN
  90.    NaNQ - -5.0 = double: NaN
  91.    NaNQ * -5.0 = double: NaN
  92.    NaNQ / -5.0 = double: NaN
  93.    NaNQ % -5.0 = double: NaN
  94.     (NaNQ == -5.0) = float: false
  95.     (NaNQ != -5.0) = float: true
  96.     (NaNQ <  -5.0) = float: false
  97.     (NaNQ <= -5.0) = float: false
  98.     (NaNQ >  -5.0) = float: false
  99.     (NaNQ >= -5.0) = float: false
 100.    !(NaNQ == -5.0) = float: true
 101.    !(NaNQ != -5.0) = float: false
 102.    !(NaNQ <  -5.0) = float: true
 103.    !(NaNQ <= -5.0) = float: true
 104.    !(NaNQ >  -5.0) = float: true
 105.    !(NaNQ >= -5.0) = float: true
 106.     (NaNQ == -5.0) = double: false
 107.     (NaNQ != -5.0) = double: true
 108.     (NaNQ <  -5.0) = double: false
 109.     (NaNQ <= -5.0) = double: false
 110.     (NaNQ >  -5.0) = double: false
 111.     (NaNQ >= -5.0) = double: false
 112.    !(NaNQ == -5.0) = double: true
 113.    !(NaNQ != -5.0) = double: false
 114.    !(NaNQ <  -5.0) = double: true
 115.    !(NaNQ <= -5.0) = double: true
 116.    !(NaNQ >  -5.0) = double: true
 117.    !(NaNQ >= -5.0) = double: true
 118.    NaNQ + -0.0 = float:  NaN
 119.    NaNQ - -0.0 = float:  NaN
 120.    NaNQ * -0.0 = float:  NaN
 121.    NaNQ / -0.0 = float:  NaN
 122.    NaNQ % -0.0 = float:  NaN
 123.    NaNQ + -0.0 = double: NaN
 124.    NaNQ - -0.0 = double: NaN
 125.    NaNQ * -0.0 = double: NaN
 126.    NaNQ / -0.0 = double: NaN
 127.    NaNQ % -0.0 = double: NaN
 128.     (NaNQ == -0.0) = float: false
 129.     (NaNQ != -0.0) = float: true
 130.     (NaNQ <  -0.0) = float: false
 131.     (NaNQ <= -0.0) = float: false
 132.     (NaNQ >  -0.0) = float: false
 133.     (NaNQ >= -0.0) = float: false
 134.    !(NaNQ == -0.0) = float: true
 135.    !(NaNQ != -0.0) = float: false
 136.    !(NaNQ <  -0.0) = float: true
 137.    !(NaNQ <= -0.0) = float: true
 138.    !(NaNQ >  -0.0) = float: true
 139.    !(NaNQ >= -0.0) = float: true
 140.     (NaNQ == -0.0) = double: false
 141.     (NaNQ != -0.0) = double: true
 142.     (NaNQ <  -0.0) = double: false
 143.     (NaNQ <= -0.0) = double: false
 144.     (NaNQ >  -0.0) = double: false
 145.     (NaNQ >= -0.0) = double: false
 146.    !(NaNQ == -0.0) = double: true
 147.    !(NaNQ != -0.0) = double: false
 148.    !(NaNQ <  -0.0) = double: true
 149.    !(NaNQ <= -0.0) = double: true
 150.    !(NaNQ >  -0.0) = double: true
 151.    !(NaNQ >= -0.0) = double: true
 152.    NaNQ + 0.0 = float:  NaN
 153.    NaNQ - 0.0 = float:  NaN
 154.    NaNQ * 0.0 = float:  NaN
 155.    NaNQ / 0.0 = float:  NaN
 156.    NaNQ % 0.0 = float:  NaN
 157.    NaNQ + 0.0 = double: NaN
 158.    NaNQ - 0.0 = double: NaN
 159.    NaNQ * 0.0 = double: NaN
 160.    NaNQ / 0.0 = double: NaN
 161.    NaNQ % 0.0 = double: NaN
 162.     (NaNQ == 0.0) = float: false
 163.     (NaNQ != 0.0) = float: true
 164.     (NaNQ <  0.0) = float: false
 165.     (NaNQ <= 0.0) = float: false
 166.     (NaNQ >  0.0) = float: false
 167.     (NaNQ >= 0.0) = float: false
 168.    !(NaNQ == 0.0) = float: true
 169.    !(NaNQ != 0.0) = float: false
 170.    !(NaNQ <  0.0) = float: true
 171.    !(NaNQ <= 0.0) = float: true
 172.    !(NaNQ >  0.0) = float: true
 173.    !(NaNQ >= 0.0) = float: true
 174.     (NaNQ == 0.0) = double: false
 175.     (NaNQ != 0.0) = double: true
 176.     (NaNQ <  0.0) = double: false
 177.     (NaNQ <= 0.0) = double: false
 178.     (NaNQ >  0.0) = double: false
 179.     (NaNQ >= 0.0) = double: false
 180.    !(NaNQ == 0.0) = double: true
 181.    !(NaNQ != 0.0) = double: false
 182.    !(NaNQ <  0.0) = double: true
 183.    !(NaNQ <= 0.0) = double: true
 184.    !(NaNQ >  0.0) = double: true
 185.    !(NaNQ >= 0.0) = double: true
 186.    NaNQ + 5.0 = float:  NaN
 187.    NaNQ - 5.0 = float:  NaN
 188.    NaNQ * 5.0 = float:  NaN
 189.    NaNQ / 5.0 = float:  NaN
 190.    NaNQ % 5.0 = float:  NaN
 191.    NaNQ + 5.0 = double: NaN
 192.    NaNQ - 5.0 = double: NaN
 193.    NaNQ * 5.0 = double: NaN
 194.    NaNQ / 5.0 = double: NaN
 195.    NaNQ % 5.0 = double: NaN
 196.     (NaNQ == 5.0) = float: false
 197.     (NaNQ != 5.0) = float: true
 198.     (NaNQ <  5.0) = float: false
 199.     (NaNQ <= 5.0) = float: false
 200.     (NaNQ >  5.0) = float: false
 201.     (NaNQ >= 5.0) = float: false
 202.    !(NaNQ == 5.0) = float: true
 203.    !(NaNQ != 5.0) = float: false
 204.    !(NaNQ <  5.0) = float: true
 205.    !(NaNQ <= 5.0) = float: true
 206.    !(NaNQ >  5.0) = float: true
 207.    !(NaNQ >= 5.0) = float: true
 208.     (NaNQ == 5.0) = double: false
 209.     (NaNQ != 5.0) = double: true
 210.     (NaNQ <  5.0) = double: false
 211.     (NaNQ <= 5.0) = double: false
 212.     (NaNQ >  5.0) = double: false
 213.     (NaNQ >= 5.0) = double: false
 214.    !(NaNQ == 5.0) = double: true
 215.    !(NaNQ != 5.0) = double: false
 216.    !(NaNQ <  5.0) = double: true
 217.    !(NaNQ <= 5.0) = double: true
 218.    !(NaNQ >  5.0) = double: true
 219.    !(NaNQ >= 5.0) = double: true
 220.    ------------------- test value op NaNQ
 221.    -5.0 + NaNQ = float:  NaN
 222.    -5.0 - NaNQ = float:  NaN
 223.    -5.0 * NaNQ = float:  NaN
 224.    -5.0 / NaNQ = float:  NaN
 225.    -5.0 % NaNQ = float:  NaN
 226.    -5.0 + NaNQ = double: NaN
 227.    -5.0 - NaNQ = double: NaN
 228.    -5.0 * NaNQ = double: NaN
 229.    -5.0 / NaNQ = double: NaN
 230.    -5.0 % NaNQ = double: NaN
 231.     (-5.0 == NaNQ) = float: false
 232.     (-5.0 != NaNQ) = float: true
 233.     (-5.0 <  NaNQ) = float: false
 234.     (-5.0 <= NaNQ) = float: false
 235.     (-5.0 >  NaNQ) = float: false
 236.     (-5.0 >= NaNQ) = float: false
 237.    !(-5.0 == NaNQ) = float: true
 238.    !(-5.0 != NaNQ) = float: false
 239.    !(-5.0 <  NaNQ) = float: true
 240.    !(-5.0 <= NaNQ) = float: true
 241.    !(-5.0 >  NaNQ) = float: true
 242.    !(-5.0 >= NaNQ) = float: true
 243.     (-5.0 == NaNQ) = double: false
 244.     (-5.0 != NaNQ) = double: true
 245.     (-5.0 <  NaNQ) = double: false
 246.     (-5.0 <= NaNQ) = double: false
 247.     (-5.0 >  NaNQ) = double: false
 248.     (-5.0 >= NaNQ) = double: false
 249.    !(-5.0 == NaNQ) = double: true
 250.    !(-5.0 != NaNQ) = double: false
 251.    !(-5.0 <  NaNQ) = double: true
 252.    !(-5.0 <= NaNQ) = double: true
 253.    !(-5.0 >  NaNQ) = double: true
 254.    !(-5.0 >= NaNQ) = double: true
 255.    -0.0 + NaNQ = float:  NaN
 256.    -0.0 - NaNQ = float:  NaN
 257.    -0.0 * NaNQ = float:  NaN
 258.    -0.0 / NaNQ = float:  NaN
 259.    -0.0 % NaNQ = float:  NaN
 260.    -0.0 + NaNQ = double: NaN
 261.    -0.0 - NaNQ = double: NaN
 262.    -0.0 * NaNQ = double: NaN
 263.    -0.0 / NaNQ = double: NaN
 264.    -0.0 % NaNQ = double: NaN
 265.     (-0.0 == NaNQ) = float: false
 266.     (-0.0 != NaNQ) = float: true
 267.     (-0.0 <  NaNQ) = float: false
 268.     (-0.0 <= NaNQ) = float: false
 269.     (-0.0 >  NaNQ) = float: false
 270.     (-0.0 >= NaNQ) = float: false
 271.    !(-0.0 == NaNQ) = float: true
 272.    !(-0.0 != NaNQ) = float: false
 273.    !(-0.0 <  NaNQ) = float: true
 274.    !(-0.0 <= NaNQ) = float: true
 275.    !(-0.0 >  NaNQ) = float: true
 276.    !(-0.0 >= NaNQ) = float: true
 277.     (-0.0 == NaNQ) = double: false
 278.     (-0.0 != NaNQ) = double: true
 279.     (-0.0 <  NaNQ) = double: false
 280.     (-0.0 <= NaNQ) = double: false
 281.     (-0.0 >  NaNQ) = double: false
 282.     (-0.0 >= NaNQ) = double: false
 283.    !(-0.0 == NaNQ) = double: true
 284.    !(-0.0 != NaNQ) = double: false
 285.    !(-0.0 <  NaNQ) = double: true
 286.    !(-0.0 <= NaNQ) = double: true
 287.    !(-0.0 >  NaNQ) = double: true
 288.    !(-0.0 >= NaNQ) = double: true
 289.    0.0 + NaNQ = float:  NaN
 290.    0.0 - NaNQ = float:  NaN
 291.    0.0 * NaNQ = float:  NaN
 292.    0.0 / NaNQ = float:  NaN
 293.    0.0 % NaNQ = float:  NaN
 294.    0.0 + NaNQ = double: NaN
 295.    0.0 - NaNQ = double: NaN
 296.    0.0 * NaNQ = double: NaN
 297.    0.0 / NaNQ = double: NaN
 298.    0.0 % NaNQ = double: NaN
 299.     (0.0 == NaNQ) = float: false
 300.     (0.0 != NaNQ) = float: true
 301.     (0.0 <  NaNQ) = float: false
 302.     (0.0 <= NaNQ) = float: false
 303.     (0.0 >  NaNQ) = float: false
 304.     (0.0 >= NaNQ) = float: false
 305.    !(0.0 == NaNQ) = float: true
 306.    !(0.0 != NaNQ) = float: false
 307.    !(0.0 <  NaNQ) = float: true
 308.    !(0.0 <= NaNQ) = float: true
 309.    !(0.0 >  NaNQ) = float: true
 310.    !(0.0 >= NaNQ) = float: true
 311.     (0.0 == NaNQ) = double: false
 312.     (0.0 != NaNQ) = double: true
 313.     (0.0 <  NaNQ) = double: false
 314.     (0.0 <= NaNQ) = double: false
 315.     (0.0 >  NaNQ) = double: false
 316.     (0.0 >= NaNQ) = double: false
 317.    !(0.0 == NaNQ) = double: true
 318.    !(0.0 != NaNQ) = double: false
 319.    !(0.0 <  NaNQ) = double: true
 320.    !(0.0 <= NaNQ) = double: true
 321.    !(0.0 >  NaNQ) = double: true
 322.    !(0.0 >= NaNQ) = double: true
 323.    5.0 + NaNQ = float:  NaN
 324.    5.0 - NaNQ = float:  NaN
 325.    5.0 * NaNQ = float:  NaN
 326.    5.0 / NaNQ = float:  NaN
 327.    5.0 % NaNQ = float:  NaN
 328.    5.0 + NaNQ = double: NaN
 329.    5.0 - NaNQ = double: NaN
 330.    5.0 * NaNQ = double: NaN
 331.    5.0 / NaNQ = double: NaN
 332.    5.0 % NaNQ = double: NaN
 333.     (5.0 == NaNQ) = float: false
 334.     (5.0 != NaNQ) = float: true
 335.     (5.0 <  NaNQ) = float: false
 336.     (5.0 <= NaNQ) = float: false
 337.     (5.0 >  NaNQ) = float: false
 338.     (5.0 >= NaNQ) = float: false
 339.    !(5.0 == NaNQ) = float: true
 340.    !(5.0 != NaNQ) = float: false
 341.    !(5.0 <  NaNQ) = float: true
 342.    !(5.0 <= NaNQ) = float: true
 343.    !(5.0 >  NaNQ) = float: true
 344.    !(5.0 >= NaNQ) = float: true
 345.     (5.0 == NaNQ) = double: false
 346.     (5.0 != NaNQ) = double: true
 347.     (5.0 <  NaNQ) = double: false
 348.     (5.0 <= NaNQ) = double: false
 349.     (5.0 >  NaNQ) = double: false
 350.     (5.0 >= NaNQ) = double: false
 351.    !(5.0 == NaNQ) = double: true
 352.    !(5.0 != NaNQ) = double: false
 353.    !(5.0 <  NaNQ) = double: true
 354.    !(5.0 <= NaNQ) = double: true
 355.    !(5.0 >  NaNQ) = double: true
 356.    !(5.0 >= NaNQ) = double: true
 357.    ------------------- test +INF op value
 358.    +INF + -5.0 = float:  Infinity
 359.    +INF - -5.0 = float:  Infinity
 360.    +INF * -5.0 = float:  -Infinity
 361.    +INF / -5.0 = float:  -Infinity
 362.    +INF % -5.0 = float:  NaN
 363.    +INF + -5.0 = double: Infinity
 364.    +INF - -5.0 = double: Infinity
 365.    +INF * -5.0 = double: -Infinity
 366.    +INF / -5.0 = double: -Infinity
 367.    +INF % -5.0 = double: NaN
 368.     (+INF == -5.0) = float: false
 369.     (+INF != -5.0) = float: true
 370.     (+INF <  -5.0) = float: false
 371.     (+INF <= -5.0) = float: false
 372.     (+INF >  -5.0) = float: true
 373.     (+INF >= -5.0) = float: true
 374.    !(+INF == -5.0) = float: true
 375.    !(+INF != -5.0) = float: false
 376.    !(+INF <  -5.0) = float: true
 377.    !(+INF <= -5.0) = float: true
 378.    !(+INF >  -5.0) = float: false
 379.    !(+INF >= -5.0) = float: false
 380.     (+INF == -5.0) = double: false
 381.     (+INF != -5.0) = double: true
 382.     (+INF <  -5.0) = double: false
 383.     (+INF <= -5.0) = double: false
 384.     (+INF >  -5.0) = double: true
 385.     (+INF >= -5.0) = double: true
 386.    !(+INF == -5.0) = double: true
 387.    !(+INF != -5.0) = double: false
 388.    !(+INF <  -5.0) = double: true
 389.    !(+INF <= -5.0) = double: true
 390.    !(+INF >  -5.0) = double: false
 391.    !(+INF >= -5.0) = double: false
 392.    +INF + -0.0 = float:  Infinity
 393.    +INF - -0.0 = float:  Infinity
 394.    +INF * -0.0 = float:  NaN
 395.    +INF / -0.0 = float:  -Infinity
 396.    +INF % -0.0 = float:  NaN
 397.    +INF + -0.0 = double: Infinity
 398.    +INF - -0.0 = double: Infinity
 399.    +INF * -0.0 = double: NaN
 400.    +INF / -0.0 = double: -Infinity
 401.    +INF % -0.0 = double: NaN
 402.     (+INF == -0.0) = float: false
 403.     (+INF != -0.0) = float: true
 404.     (+INF <  -0.0) = float: false
 405.     (+INF <= -0.0) = float: false
 406.     (+INF >  -0.0) = float: true
 407.     (+INF >= -0.0) = float: true
 408.    !(+INF == -0.0) = float: true
 409.    !(+INF != -0.0) = float: false
 410.    !(+INF <  -0.0) = float: true
 411.    !(+INF <= -0.0) = float: true
 412.    !(+INF >  -0.0) = float: false
 413.    !(+INF >= -0.0) = float: false
 414.     (+INF == -0.0) = double: false
 415.     (+INF != -0.0) = double: true
 416.     (+INF <  -0.0) = double: false
 417.     (+INF <= -0.0) = double: false
 418.     (+INF >  -0.0) = double: true
 419.     (+INF >= -0.0) = double: true
 420.    !(+INF == -0.0) = double: true
 421.    !(+INF != -0.0) = double: false
 422.    !(+INF <  -0.0) = double: true
 423.    !(+INF <= -0.0) = double: true
 424.    !(+INF >  -0.0) = double: false
 425.    !(+INF >= -0.0) = double: false
 426.    +INF + 0.0 = float:  Infinity
 427.    +INF - 0.0 = float:  Infinity
 428.    +INF * 0.0 = float:  NaN
 429.    +INF / 0.0 = float:  Infinity
 430.    +INF % 0.0 = float:  NaN
 431.    +INF + 0.0 = double: Infinity
 432.    +INF - 0.0 = double: Infinity
 433.    +INF * 0.0 = double: NaN
 434.    +INF / 0.0 = double: Infinity
 435.    +INF % 0.0 = double: NaN
 436.     (+INF == 0.0) = float: false
 437.     (+INF != 0.0) = float: true
 438.     (+INF <  0.0) = float: false
 439.     (+INF <= 0.0) = float: false
 440.     (+INF >  0.0) = float: true
 441.     (+INF >= 0.0) = float: true
 442.    !(+INF == 0.0) = float: true
 443.    !(+INF != 0.0) = float: false
 444.    !(+INF <  0.0) = float: true
 445.    !(+INF <= 0.0) = float: true
 446.    !(+INF >  0.0) = float: false
 447.    !(+INF >= 0.0) = float: false
 448.     (+INF == 0.0) = double: false
 449.     (+INF != 0.0) = double: true
 450.     (+INF <  0.0) = double: false
 451.     (+INF <= 0.0) = double: false
 452.     (+INF >  0.0) = double: true
 453.     (+INF >= 0.0) = double: true
 454.    !(+INF == 0.0) = double: true
 455.    !(+INF != 0.0) = double: false
 456.    !(+INF <  0.0) = double: true
 457.    !(+INF <= 0.0) = double: true
 458.    !(+INF >  0.0) = double: false
 459.    !(+INF >= 0.0) = double: false
 460.    +INF + 5.0 = float:  Infinity
 461.    +INF - 5.0 = float:  Infinity
 462.    +INF * 5.0 = float:  Infinity
 463.    +INF / 5.0 = float:  Infinity
 464.    +INF % 5.0 = float:  NaN
 465.    +INF + 5.0 = double: Infinity
 466.    +INF - 5.0 = double: Infinity
 467.    +INF * 5.0 = double: Infinity
 468.    +INF / 5.0 = double: Infinity
 469.    +INF % 5.0 = double: NaN
 470.     (+INF == 5.0) = float: false
 471.     (+INF != 5.0) = float: true
 472.     (+INF <  5.0) = float: false
 473.     (+INF <= 5.0) = float: false
 474.     (+INF >  5.0) = float: true
 475.     (+INF >= 5.0) = float: true
 476.    !(+INF == 5.0) = float: true
 477.    !(+INF != 5.0) = float: false
 478.    !(+INF <  5.0) = float: true
 479.    !(+INF <= 5.0) = float: true
 480.    !(+INF >  5.0) = float: false
 481.    !(+INF >= 5.0) = float: false
 482.     (+INF == 5.0) = double: false
 483.     (+INF != 5.0) = double: true
 484.     (+INF <  5.0) = double: false
 485.     (+INF <= 5.0) = double: false
 486.     (+INF >  5.0) = double: true
 487.     (+INF >= 5.0) = double: true
 488.    !(+INF == 5.0) = double: true
 489.    !(+INF != 5.0) = double: false
 490.    !(+INF <  5.0) = double: true
 491.    !(+INF <= 5.0) = double: true
 492.    !(+INF >  5.0) = double: false
 493.    !(+INF >= 5.0) = double: false
 494.    ------------------- test +INF op value
 495.    -5.0 + +INF = float:  Infinity
 496.    -5.0 - +INF = float:  -Infinity
 497.    -5.0 * +INF = float:  -Infinity
 498.    -5.0 / +INF = float:  -0.0
 499.    -5.0 % +INF = float:  -5.0
 500.    -5.0 + +INF = double: Infinity
 501.    -5.0 - +INF = double: -Infinity
 502.    -5.0 * +INF = double: -Infinity
 503.    -5.0 / +INF = double: -0.0
 504.    -5.0 % +INF = double: -5.0
 505.     (-5.0 == +INF) = float: false
 506.     (-5.0 != +INF) = float: true
 507.     (-5.0 <  +INF) = float: true
 508.     (-5.0 <= +INF) = float: true
 509.     (-5.0 >  +INF) = float: false
 510.     (-5.0 >= +INF) = float: false
 511.    !(-5.0 == +INF) = float: true
 512.    !(-5.0 != +INF) = float: false
 513.    !(-5.0 <  +INF) = float: false
 514.    !(-5.0 <= +INF) = float: false
 515.    !(-5.0 >  +INF) = float: true
 516.    !(-5.0 >= +INF) = float: true
 517.     (-5.0 == +INF) = double: false
 518.     (-5.0 != +INF) = double: true
 519.     (-5.0 <  +INF) = double: true
 520.     (-5.0 <= +INF) = double: true
 521.     (-5.0 >  +INF) = double: false
 522.     (-5.0 >= +INF) = double: false
 523.    !(-5.0 == +INF) = double: true
 524.    !(-5.0 != +INF) = double: false
 525.    !(-5.0 <  +INF) = double: false
 526.    !(-5.0 <= +INF) = double: false
 527.    !(-5.0 >  +INF) = double: true
 528.    !(-5.0 >= +INF) = double: true
 529.    -0.0 + +INF = float:  Infinity
 530.    -0.0 - +INF = float:  -Infinity
 531.    -0.0 * +INF = float:  NaN
 532.    -0.0 / +INF = float:  -0.0
 533.    -0.0 % +INF = float:  -0.0
 534.    -0.0 + +INF = double: Infinity
 535.    -0.0 - +INF = double: -Infinity
 536.    -0.0 * +INF = double: NaN
 537.    -0.0 / +INF = double: -0.0
 538.    -0.0 % +INF = double: -0.0
 539.     (-0.0 == +INF) = float: false
 540.     (-0.0 != +INF) = float: true
 541.     (-0.0 <  +INF) = float: true
 542.     (-0.0 <= +INF) = float: true
 543.     (-0.0 >  +INF) = float: false
 544.     (-0.0 >= +INF) = float: false
 545.    !(-0.0 == +INF) = float: true
 546.    !(-0.0 != +INF) = float: false
 547.    !(-0.0 <  +INF) = float: false
 548.    !(-0.0 <= +INF) = float: false
 549.    !(-0.0 >  +INF) = float: true
 550.    !(-0.0 >= +INF) = float: true
 551.     (-0.0 == +INF) = double: false
 552.     (-0.0 != +INF) = double: true
 553.     (-0.0 <  +INF) = double: true
 554.     (-0.0 <= +INF) = double: true
 555.     (-0.0 >  +INF) = double: false
 556.     (-0.0 >= +INF) = double: false
 557.    !(-0.0 == +INF) = double: true
 558.    !(-0.0 != +INF) = double: false
 559.    !(-0.0 <  +INF) = double: false
 560.    !(-0.0 <= +INF) = double: false
 561.    !(-0.0 >  +INF) = double: true
 562.    !(-0.0 >= +INF) = double: true
 563.    0.0 + +INF = float:  Infinity
 564.    0.0 - +INF = float:  -Infinity
 565.    0.0 * +INF = float:  NaN
 566.    0.0 / +INF = float:  0.0
 567.    0.0 % +INF = float:  0.0
 568.    0.0 + +INF = double: Infinity
 569.    0.0 - +INF = double: -Infinity
 570.    0.0 * +INF = double: NaN
 571.    0.0 / +INF = double: 0.0
 572.    0.0 % +INF = double: 0.0
 573.     (0.0 == +INF) = float: false
 574.     (0.0 != +INF) = float: true
 575.     (0.0 <  +INF) = float: true
 576.     (0.0 <= +INF) = float: true
 577.     (0.0 >  +INF) = float: false
 578.     (0.0 >= +INF) = float: false
 579.    !(0.0 == +INF) = float: true
 580.    !(0.0 != +INF) = float: false
 581.    !(0.0 <  +INF) = float: false
 582.    !(0.0 <= +INF) = float: false
 583.    !(0.0 >  +INF) = float: true
 584.    !(0.0 >= +INF) = float: true
 585.     (0.0 == +INF) = double: false
 586.     (0.0 != +INF) = double: true
 587.     (0.0 <  +INF) = double: true
 588.     (0.0 <= +INF) = double: true
 589.     (0.0 >  +INF) = double: false
 590.     (0.0 >= +INF) = double: false
 591.    !(0.0 == +INF) = double: true
 592.    !(0.0 != +INF) = double: false
 593.    !(0.0 <  +INF) = double: false
 594.    !(0.0 <= +INF) = double: false
 595.    !(0.0 >  +INF) = double: true
 596.    !(0.0 >= +INF) = double: true
 597.    5.0 + +INF = float:  Infinity
 598.    5.0 - +INF = float:  -Infinity
 599.    5.0 * +INF = float:  Infinity
 600.    5.0 / +INF = float:  0.0
 601.    5.0 % +INF = float:  5.0
 602.    5.0 + +INF = double: Infinity
 603.    5.0 - +INF = double: -Infinity
 604.    5.0 * +INF = double: Infinity
 605.    5.0 / +INF = double: 0.0
 606.    5.0 % +INF = double: 5.0
 607.     (5.0 == +INF) = float: false
 608.     (5.0 != +INF) = float: true
 609.     (5.0 <  +INF) = float: true
 610.     (5.0 <= +INF) = float: true
 611.     (5.0 >  +INF) = float: false
 612.     (5.0 >= +INF) = float: false
 613.    !(5.0 == +INF) = float: true
 614.    !(5.0 != +INF) = float: false
 615.    !(5.0 <  +INF) = float: false
 616.    !(5.0 <= +INF) = float: false
 617.    !(5.0 >  +INF) = float: true
 618.    !(5.0 >= +INF) = float: true
 619.     (5.0 == +INF) = double: false
 620.     (5.0 != +INF) = double: true
 621.     (5.0 <  +INF) = double: true
 622.     (5.0 <= +INF) = double: true
 623.     (5.0 >  +INF) = double: false
 624.     (5.0 >= +INF) = double: false
 625.    !(5.0 == +INF) = double: true
 626.    !(5.0 != +INF) = double: false
 627.    !(5.0 <  +INF) = double: false
 628.    !(5.0 <= +INF) = double: false
 629.    !(5.0 >  +INF) = double: true
 630.    !(5.0 >= +INF) = double: true
 631.    ------------------- test -INF op value
 632.    -INF + -5.0 = float:  -Infinity
 633.    -INF - -5.0 = float:  -Infinity
 634.    -INF * -5.0 = float:  Infinity
 635.    -INF / -5.0 = float:  Infinity
 636.    -INF % -5.0 = float:  NaN
 637.    -INF + -5.0 = double: -Infinity
 638.    -INF - -5.0 = double: -Infinity
 639.    -INF * -5.0 = double: Infinity
 640.    -INF / -5.0 = double: Infinity
 641.    -INF % -5.0 = double: NaN
 642.     (-INF == -5.0) = float: false
 643.     (-INF != -5.0) = float: true
 644.     (-INF <  -5.0) = float: true
 645.     (-INF <= -5.0) = float: true
 646.     (-INF >  -5.0) = float: false
 647.     (-INF >= -5.0) = float: false
 648.    !(-INF == -5.0) = float: true
 649.    !(-INF != -5.0) = float: false
 650.    !(-INF <  -5.0) = float: false
 651.    !(-INF <= -5.0) = float: false
 652.    !(-INF >  -5.0) = float: true
 653.    !(-INF >= -5.0) = float: true
 654.     (-INF == -5.0) = double: false
 655.     (-INF != -5.0) = double: true
 656.     (-INF <  -5.0) = double: true
 657.     (-INF <= -5.0) = double: true
 658.     (-INF >  -5.0) = double: false
 659.     (-INF >= -5.0) = double: false
 660.    !(-INF == -5.0) = double: true
 661.    !(-INF != -5.0) = double: false
 662.    !(-INF <  -5.0) = double: false
 663.    !(-INF <= -5.0) = double: false
 664.    !(-INF >  -5.0) = double: true
 665.    !(-INF >= -5.0) = double: true
 666.    -INF + -0.0 = float:  -Infinity
 667.    -INF - -0.0 = float:  -Infinity
 668.    -INF * -0.0 = float:  NaN
 669.    -INF / -0.0 = float:  Infinity
 670.    -INF % -0.0 = float:  NaN
 671.    -INF + -0.0 = double: -Infinity
 672.    -INF - -0.0 = double: -Infinity
 673.    -INF * -0.0 = double: NaN
 674.    -INF / -0.0 = double: Infinity
 675.    -INF % -0.0 = double: NaN
 676.     (-INF == -0.0) = float: false
 677.     (-INF != -0.0) = float: true
 678.     (-INF <  -0.0) = float: true
 679.     (-INF <= -0.0) = float: true
 680.     (-INF >  -0.0) = float: false
 681.     (-INF >= -0.0) = float: false
 682.    !(-INF == -0.0) = float: true
 683.    !(-INF != -0.0) = float: false
 684.    !(-INF <  -0.0) = float: false
 685.    !(-INF <= -0.0) = float: false
 686.    !(-INF >  -0.0) = float: true
 687.    !(-INF >= -0.0) = float: true
 688.     (-INF == -0.0) = double: false
 689.     (-INF != -0.0) = double: true
 690.     (-INF <  -0.0) = double: true
 691.     (-INF <= -0.0) = double: true
 692.     (-INF >  -0.0) = double: false
 693.     (-INF >= -0.0) = double: false
 694.    !(-INF == -0.0) = double: true
 695.    !(-INF != -0.0) = double: false
 696.    !(-INF <  -0.0) = double: false
 697.    !(-INF <= -0.0) = double: false
 698.    !(-INF >  -0.0) = double: true
 699.    !(-INF >= -0.0) = double: true
 700.    -INF + 0.0 = float:  -Infinity
 701.    -INF - 0.0 = float:  -Infinity
 702.    -INF * 0.0 = float:  NaN
 703.    -INF / 0.0 = float:  -Infinity
 704.    -INF % 0.0 = float:  NaN
 705.    -INF + 0.0 = double: -Infinity
 706.    -INF - 0.0 = double: -Infinity
 707.    -INF * 0.0 = double: NaN
 708.    -INF / 0.0 = double: -Infinity
 709.    -INF % 0.0 = double: NaN
 710.     (-INF == 0.0) = float: false
 711.     (-INF != 0.0) = float: true
 712.     (-INF <  0.0) = float: true
 713.     (-INF <= 0.0) = float: true
 714.     (-INF >  0.0) = float: false
 715.     (-INF >= 0.0) = float: false
 716.    !(-INF == 0.0) = float: true
 717.    !(-INF != 0.0) = float: false
 718.    !(-INF <  0.0) = float: false
 719.    !(-INF <= 0.0) = float: false
 720.    !(-INF >  0.0) = float: true
 721.    !(-INF >= 0.0) = float: true
 722.     (-INF == 0.0) = double: false
 723.     (-INF != 0.0) = double: true
 724.     (-INF <  0.0) = double: true
 725.     (-INF <= 0.0) = double: true
 726.     (-INF >  0.0) = double: false
 727.     (-INF >= 0.0) = double: false
 728.    !(-INF == 0.0) = double: true
 729.    !(-INF != 0.0) = double: false
 730.    !(-INF <  0.0) = double: false
 731.    !(-INF <= 0.0) = double: false
 732.    !(-INF >  0.0) = double: true
 733.    !(-INF >= 0.0) = double: true
 734.    -INF + 5.0 = float:  -Infinity
 735.    -INF - 5.0 = float:  -Infinity
 736.    -INF * 5.0 = float:  -Infinity
 737.    -INF / 5.0 = float:  -Infinity
 738.    -INF % 5.0 = float:  NaN
 739.    -INF + 5.0 = double: -Infinity
 740.    -INF - 5.0 = double: -Infinity
 741.    -INF * 5.0 = double: -Infinity
 742.    -INF / 5.0 = double: -Infinity
 743.    -INF % 5.0 = double: NaN
 744.     (-INF == 5.0) = float: false
 745.     (-INF != 5.0) = float: true
 746.     (-INF <  5.0) = float: true
 747.     (-INF <= 5.0) = float: true
 748.     (-INF >  5.0) = float: false
 749.     (-INF >= 5.0) = float: false
 750.    !(-INF == 5.0) = float: true
 751.    !(-INF != 5.0) = float: false
 752.    !(-INF <  5.0) = float: false
 753.    !(-INF <= 5.0) = float: false
 754.    !(-INF >  5.0) = float: true
 755.    !(-INF >= 5.0) = float: true
 756.     (-INF == 5.0) = double: false
 757.     (-INF != 5.0) = double: true
 758.     (-INF <  5.0) = double: true
 759.     (-INF <= 5.0) = double: true
 760.     (-INF >  5.0) = double: false
 761.     (-INF >= 5.0) = double: false
 762.    !(-INF == 5.0) = double: true
 763.    !(-INF != 5.0) = double: false
 764.    !(-INF <  5.0) = double: false
 765.    !(-INF <= 5.0) = double: false
 766.    !(-INF >  5.0) = double: true
 767.    !(-INF >= 5.0) = double: true
 768.    ------------------- test -INF op value
 769.    -5.0 + -INF = float:  -Infinity
 770.    -5.0 - -INF = float:  Infinity
 771.    -5.0 * -INF = float:  Infinity
 772.    -5.0 / -INF = float:  0.0
 773.    -5.0 % -INF = float:  -5.0
 774.    -5.0 + -INF = double: -Infinity
 775.    -5.0 - -INF = double: Infinity
 776.    -5.0 * -INF = double: Infinity
 777.    -5.0 / -INF = double: 0.0
 778.    -5.0 % -INF = double: -5.0
 779.     (-5.0 == -INF) = float: false
 780.     (-5.0 != -INF) = float: true
 781.     (-5.0 <  -INF) = float: false
 782.     (-5.0 <= -INF) = float: false
 783.     (-5.0 >  -INF) = float: true
 784.     (-5.0 >= -INF) = float: true
 785.    !(-5.0 == -INF) = float: true
 786.    !(-5.0 != -INF) = float: false
 787.    !(-5.0 <  -INF) = float: true
 788.    !(-5.0 <= -INF) = float: true
 789.    !(-5.0 >  -INF) = float: false
 790.    !(-5.0 >= -INF) = float: false
 791.     (-5.0 == -INF) = double: false
 792.     (-5.0 != -INF) = double: true
 793.     (-5.0 <  -INF) = double: false
 794.     (-5.0 <= -INF) = double: false
 795.     (-5.0 >  -INF) = double: true
 796.     (-5.0 >= -INF) = double: true
 797.    !(-5.0 == -INF) = double: true
 798.    !(-5.0 != -INF) = double: false
 799.    !(-5.0 <  -INF) = double: true
 800.    !(-5.0 <= -INF) = double: true
 801.    !(-5.0 >  -INF) = double: false
 802.    !(-5.0 >= -INF) = double: false
 803.    -0.0 + -INF = float:  -Infinity
 804.    -0.0 - -INF = float:  Infinity
 805.    -0.0 * -INF = float:  NaN
 806.    -0.0 / -INF = float:  0.0
 807.    -0.0 % -INF = float:  -0.0
 808.    -0.0 + -INF = double: -Infinity
 809.    -0.0 - -INF = double: Infinity
 810.    -0.0 * -INF = double: NaN
 811.    -0.0 / -INF = double: 0.0
 812.    -0.0 % -INF = double: -0.0
 813.     (-0.0 == -INF) = float: false
 814.     (-0.0 != -INF) = float: true
 815.     (-0.0 <  -INF) = float: false
 816.     (-0.0 <= -INF) = float: false
 817.     (-0.0 >  -INF) = float: true
 818.     (-0.0 >= -INF) = float: true
 819.    !(-0.0 == -INF) = float: true
 820.    !(-0.0 != -INF) = float: false
 821.    !(-0.0 <  -INF) = float: true
 822.    !(-0.0 <= -INF) = float: true
 823.    !(-0.0 >  -INF) = float: false
 824.    !(-0.0 >= -INF) = float: false
 825.     (-0.0 == -INF) = double: false
 826.     (-0.0 != -INF) = double: true
 827.     (-0.0 <  -INF) = double: false
 828.     (-0.0 <= -INF) = double: false
 829.     (-0.0 >  -INF) = double: true
 830.     (-0.0 >= -INF) = double: true
 831.    !(-0.0 == -INF) = double: true
 832.    !(-0.0 != -INF) = double: false
 833.    !(-0.0 <  -INF) = double: true
 834.    !(-0.0 <= -INF) = double: true
 835.    !(-0.0 >  -INF) = double: false
 836.    !(-0.0 >= -INF) = double: false
 837.    0.0 + -INF = float:  -Infinity
 838.    0.0 - -INF = float:  Infinity
 839.    0.0 * -INF = float:  NaN
 840.    0.0 / -INF = float:  -0.0
 841.    0.0 % -INF = float:  0.0
 842.    0.0 + -INF = double: -Infinity
 843.    0.0 - -INF = double: Infinity
 844.    0.0 * -INF = double: NaN
 845.    0.0 / -INF = double: -0.0
 846.    0.0 % -INF = double: 0.0
 847.     (0.0 == -INF) = float: false
 848.     (0.0 != -INF) = float: true
 849.     (0.0 <  -INF) = float: false
 850.     (0.0 <= -INF) = float: false
 851.     (0.0 >  -INF) = float: true
 852.     (0.0 >= -INF) = float: true
 853.    !(0.0 == -INF) = float: true
 854.    !(0.0 != -INF) = float: false
 855.    !(0.0 <  -INF) = float: true
 856.    !(0.0 <= -INF) = float: true
 857.    !(0.0 >  -INF) = float: false
 858.    !(0.0 >= -INF) = float: false
 859.     (0.0 == -INF) = double: false
 860.     (0.0 != -INF) = double: true
 861.     (0.0 <  -INF) = double: false
 862.     (0.0 <= -INF) = double: false
 863.     (0.0 >  -INF) = double: true
 864.     (0.0 >= -INF) = double: true
 865.    !(0.0 == -INF) = double: true
 866.    !(0.0 != -INF) = double: false
 867.    !(0.0 <  -INF) = double: true
 868.    !(0.0 <= -INF) = double: true
 869.    !(0.0 >  -INF) = double: false
 870.    !(0.0 >= -INF) = double: false
 871.    5.0 + -INF = float:  -Infinity
 872.    5.0 - -INF = float:  Infinity
 873.    5.0 * -INF = float:  -Infinity
 874.    5.0 / -INF = float:  -0.0
 875.    5.0 % -INF = float:  5.0
 876.    5.0 + -INF = double: -Infinity
 877.    5.0 - -INF = double: Infinity
 878.    5.0 * -INF = double: -Infinity
 879.    5.0 / -INF = double: -0.0
 880.    5.0 % -INF = double: 5.0
 881.     (5.0 == -INF) = float: false
 882.     (5.0 != -INF) = float: true
 883.     (5.0 <  -INF) = float: false
 884.     (5.0 <= -INF) = float: false
 885.     (5.0 >  -INF) = float: true
 886.     (5.0 >= -INF) = float: true
 887.    !(5.0 == -INF) = float: true
 888.    !(5.0 != -INF) = float: false
 889.    !(5.0 <  -INF) = float: true
 890.    !(5.0 <= -INF) = float: true
 891.    !(5.0 >  -INF) = float: false
 892.    !(5.0 >= -INF) = float: false
 893.     (5.0 == -INF) = double: false
 894.     (5.0 != -INF) = double: true
 895.     (5.0 <  -INF) = double: false
 896.     (5.0 <= -INF) = double: false
 897.     (5.0 >  -INF) = double: true
 898.     (5.0 >= -INF) = double: true
 899.    !(5.0 == -INF) = double: true
 900.    !(5.0 != -INF) = double: false
 901.    !(5.0 <  -INF) = double: true
 902.    !(5.0 <= -INF) = double: true
 903.    !(5.0 >  -INF) = double: false
 904.    !(5.0 >= -INF) = double: false
 905.    ------------------- test MAX op value
 906.    MAX + 5.0 = float:  3.4028235E38
 907.    MAX - 5.0 = float:  3.4028235E38
 908.    MAX * 5.0 = float:  Infinity
 909.    MAX / 5.0 = float:  6.805647E37
 910.    MAX % 5.0 = float:  0.0
 911.    MAX + 5.0 = double: 1.7976931348623157E308
 912.    MAX - 5.0 = double: 1.7976931348623157E308
 913.    MAX * 5.0 = double: Infinity
 914.    MAX / 5.0 = double: 3.5953862697246315E307
 915.    MAX % 5.0 = double: 3.0
 916.    ------------------- test value op MAX
 917.    5.0 + MAX = float:  3.4028235E38
 918.    5.0 - MAX = float:  -3.4028235E38
 919.    5.0 * MAX = float:  Infinity
 920.    5.0 / MAX = float:  1.4693681E-38
 921.    5.0 % MAX = float:  5.0
 922.    5.0 + MAX = double: 1.7976931348623157E308
 923.    5.0 - MAX = double: -1.7976931348623157E308
 924.    5.0 * MAX = double: Infinity
 925.    5.0 / MAX = double: 2.781342323134002E-308
 926.    5.0 % MAX = double: 5.0
 927.    ------------------- test MIN op value
 928.    MIN + 5.0 = float:  5.0
 929.    MIN - 5.0 = float:  -5.0
 930.    MIN * 5.0 = float:  7.0E-45
 931.    MIN / 5.0 = float:  0.0
 932.    MIN % 5.0 = float:  1.4E-45
 933.    MIN + 5.0 = double: 5.0
 934.    MIN - 5.0 = double: -5.0
 935.    MIN * 5.0 = double: 2.5E-323
 936.    MIN / 5.0 = double: 0.0
 937.    MIN % 5.0 = double: 4.9E-324
 938.    ------------------- test value op MIN
 939.    5.0 + MIN = float:  5.0
 940.    5.0 - MIN = float:  5.0
 941.    5.0 * MIN = float:  7.0E-45
 942.    5.0 / MIN = float:  Infinity
 943.    5.0 % MIN = float:  0.0
 944.    5.0 + MIN = double: 5.0
 945.    5.0 - MIN = double: 5.0
 946.    5.0 * MIN = double: 2.5E-323
 947.    5.0 / MIN = double: Infinity
 948.    5.0 % MIN = double: 0.0
 949.    